﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using TOAcademias;

namespace DAOAcademias
{

    /*************************************
    Autor: Brian Pari
    Fecha de Creación: 06/02/2011
    Descripción de la Funcionalidad: Clase que contiene metodos que serviran para dar
    soporte a los registros de la entidad Academia.
    **************************************/

    public class DOAcademia
    {
        DBModuloAcademiasDataContext dbml;

        public DOAcademia()
        {
            dbml = new DBModuloAcademiasDataContext();
        }

        public List<TOAcademia> obtenerAcademias()
        {
           
            List<TOAcademia> listaAcademias = new List<TOAcademia>();

            
            
            var academias = (from acad in dbml.ACADEMIAs
                           select acad
                             ) ;

            foreach (var academia in academias) {

                TOAcademia toAcademia = new TOAcademia();
                toAcademia.Cod_Academia = academia.COD_ACADEMIA;
                toAcademia.Des_Academia = academia.DES_ACADEMIA;
                toAcademia.Estado = academia.ESTADO;

                listaAcademias.Add(toAcademia);
            
            }
            
            return listaAcademias;
        }


        public List<TOAcademia> obtenerAcademiasActivas()
        {

            List<TOAcademia> listaAcademias = new List<TOAcademia>();



            var academias = (from acad in dbml.ACADEMIAs
                             where acad.ESTADO=="ACTIVO"
                             select acad
                             );

            foreach (var academia in academias)
            {

                TOAcademia toAcademia = new TOAcademia();
                toAcademia.Cod_Academia = academia.COD_ACADEMIA;
                toAcademia.Des_Academia = academia.DES_ACADEMIA;
                toAcademia.Estado = academia.ESTADO;
                toAcademia.PlanSeleccion = false;

                listaAcademias.Add(toAcademia);

            }

            return listaAcademias;
        }

        public void insertarAcademia(TOAcademia toAcademia)
        {
            List<TOAcademia> listaAcademias= obtenerAcademias();

            int intAux = 0;
            int intTemp=0;
            foreach (TOAcademia academia in listaAcademias) {

                intTemp=Convert.ToInt32(academia.Cod_Academia.Substring(2));
                if (intTemp > intAux) {

                    intAux = intTemp;
                }
                

            }
            intAux = intAux + 1;

            string strCodigo = ""+intAux;

            strCodigo = "AC000".Substring(0, 5 - strCodigo.Length)+intAux;



            ACADEMIA acad = new ACADEMIA();
            acad.COD_ACADEMIA = strCodigo;
            acad.DES_ACADEMIA = toAcademia.Des_Academia;
            acad.ESTADO = toAcademia.Estado;

            dbml.ACADEMIAs.InsertOnSubmit(acad);
            dbml.SubmitChanges();

            
        }

        public void modificarAcademia(TOAcademia toAcademia)
        {
            var academia = (from acad in dbml.ACADEMIAs
                            where acad.COD_ACADEMIA == toAcademia.Cod_Academia
                            select acad).Single();

            academia.DES_ACADEMIA = toAcademia.Des_Academia;
            academia.ESTADO = toAcademia.Estado;

            dbml.SubmitChanges();

        }
    }
}
